Skip to content

chore: partner-offer - standardise conversation offer CTA - #13736

Draft
Mitch-Henson wants to merge 1 commit into
mainfrom
chore/partner-offer/conversation-CTA-consolidation
Draft

chore: partner-offer - standardise conversation offer CTA#13736
Mitch-Henson wants to merge 1 commit into
mainfrom
chore/partner-offer/conversation-CTA-consolidation

Conversation

@Mitch-Henson

Copy link
Copy Markdown
Contributor

This PR resolves this notion card
Related Force PR: artsy/force#17443

Description

PR Checklist

  • I have tested my changes on the following platforms:
    • Android.
    • iOS.
  • I hid my changes behind a feature flag, or they don't need one.
  • I have included screenshots or videos at least on Android, or I have not changed the UI.
  • I have added tests, or my changes don't require any.
  • I added an app state migration, or my changes do not require one.
  • I have documented any follow-up work that this PR will require, or it does not require any.
  • I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

  • I would like at least one of the reviewers to run this PR on the simulator or device.
Changelog updates

Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.

cc: @artsy/topaz-devs

@Mitch-Henson
Mitch-Henson requested a review from araujobarret July 8, 2026 08:42
@Mitch-Henson Mitch-Henson self-assigned this Jul 8, 2026

@oxaudo oxaudo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense to me. Couple of very minor comments.

I still think that eventually would make sense to test if direct purchase buttons might convert better here but def support UI being the same regardless if it's personalized or bulk offer.

const isOfferFromSaves = item?.partnerOffer?.source === "SAVE"

let subtitle = isOfferFromSaves
let subtitle: string | null = isOfferFromSaves

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

think in cases like this && reads better. Something like subtitle = isOfferFromSaves && xxx

expect(screen.getByText(/List price:\s*\$450,000\s*/)).toBeOnTheScreen()
expect(screen.getByText('"This is a note from the gallery"')).toBeOnTheScreen()
expect(screen.getByText("Review the offer before it expires")).toBeOnTheScreen()
expect(screen.queryByText("Review the offer before it expires")).not.toBeOnTheScreen()

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With this changes this .not test becomes more confusing than anything.... Like we could have texted for any random text not there? One would not be able to find it in code as now it would never appear. I would just remove this line.

<Spacer y={0.5} />

<Text variant="sm-display">{subtitle}</Text>
{!!subtitle && <Text variant="sm-display">{subtitle}</Text>}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In fact as it now only one possible case I would just inline it here. Subtitle is always the same now so we could text !!isOfferFromSaves && <Text>...</Text>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants